/*******************************************************************************
 * 版权：北京润尼尔网络科技有限公司，保留所有版权<br>
 * 版本：v1.0.0<br>
 * 文件：UICompositeTimeSpinner.js<br>
 * 日期：2016年8月24日<br>
 * 作者: 林秀桃<br>
 * 功能：时间微调组件<br>
 * 
 * 修改记录：<br>
 * 日期 描述 更新功能<br>
 ******************************************************************************/

window.makeNamespace(window,"Rainier.UI.V2");


/**
 * 类型名称：Rainier.UI.V2.UICompositeTimeSpinner<br>
 * 类型功能：时间微调类声明<br>
 */
Rainier.UI.V2.UICompositeTimeSpinner = Rainier.UI.V2.UIComposite.extend({
	
	NAME : "Rainier.UI.V2.UICompositeTimeSpinner",
	
	/**
	 * 函数名称：Rainier.UI.V2.UICompositeTimeSpinner.init<br>
	 * 函数功能：构造函数<br>
	 * 参数输入：objParentComposite	:  	父组件实例 一般为对应的panel或者layout中添加<br>
	 * 参数输入：objProperties		:	
	 * {
	 * 		separator  : ":",		//时分秒之间的分隔符
	 * 		highlight  : 0,			//强调的部分，0指的是小时
	 * 		showSeconds : true		//是否显示秒
	 * }
	 * 注：具体参数信息参照easyUI官网该组件Properties。<br>	
	 * 异常信息：无<br>
	 */
	init : function(objParentComposite,objProperties){
		//使用父类初始化子类对象
		this._super(objParentComposite,objProperties);
	},

	/**
	 * 函数名称：Rainier.UI.V2.UICompositeTimeSpinner.appendEventHandler<br>
	 * 函数功能：添加事件代理<br>
	 * 参数输入：无<br>
	 * 参数输出：无<br>
	 * 函数返回：无<br>
	 * 异常信息：<br>
	 */
	appendEventHandler : function(){		
		this.m_aEventList = ['onspinUp',
		                     'onSpinDown',
		                     'onChange',
                             'onResize',
                             'onClickButton',
                             'onClickIcon',
                             'onBeforeValidate',
                             'onValidate'
		                     ];
		this._super();
	},
	
	/**
	 * 函数名称：Rainier.UI.V2.UICompositeTimeSpinner.createComposite<br>
	 * 函数功能：创建组件<br>
	 * 参数输入：eleParent : 父组件的节点元素<br>
	 * 参数输出：无<br>
	 * 函数返回：无<br>
	 * 异常信息：无<br>
	 */
	createComposite : function(eleParent){
		this._super(eleParent);		
		var newEle = this.CreateElement("input",this.m_objProperties.id);
		eleParent.append(newEle);
		newEle.timespinner(this.m_objProperties);
	},
	
	/**
	 * 函数名称：Rainier.UI.V2.UICompositeTimeSpinner.callUiMethod<br>
	 * 函数功能：添加事件代理<br>
	 * 参数输入：sMethod : 方法名称
	 * 参数输入：objArgs : 更具方法名称，在该类方法中查找对应参数，或easyUI官网对应组件的方法中检索
	 * 函数返回：根据调用方法，返回相应的数值<br>
	 * 异常信息：无<br>
	 */
	callUiMethod : function(sMethod,objArgs){
		return this.getElement().timetimespinner(sMethod,objArgs);
	},
	
	/**
	 * 函数名称：Rainier.UI.V2.UICompositeTimeSpinner.options<br>
	 * 函数功能：返回选项（options）对象。<br>
	 * 参数输入：无<br>
	 * 参数输出：无<br>
	 * 函数返回：返回选择的对象<br>
	 * 异常信息：无<br>
	 */
    options : function(){
        return this.getElement().timespinner('options');
    },
    
    /**
	 * 函数名称：Rainier.UI.V2.UICompositeTimeSpinner.getHours<br>
	 * 函数功能：获取当前小时的值<br>
	 * 参数输入：无<br>
	 * 参数输出：无<br>
	 * 函数返回：无<br>
	 * 异常信息：无<br>
	 */
    getHours : function(){
        return this.getElement().timespinner('getHours');
    },
    
    /**
	 * 函数名称：Rainier.UI.V2.UICompositeTimeSpinner.getMinutes<br>
	 * 函数功能：获取当前分钟的值<br>
	 * 参数输入：无<br>
	 * 参数输出：无<br>
	 * 函数返回：无<br>
	 * 异常信息：无<br>
	 */
    getMinutes : function(){
        return this.getElement().timespinner('getMinutes');
    },
    
    /**
	 * 函数名称：Rainier.UI.V2.UICompositeTimeSpinner.getSeconds<br>
	 * 函数功能：获取当前秒的值<br>
	 * 参数输入：无<br>
	 * 参数输出：无<br>
	 * 函数返回：无<br>
	 * 异常信息：无<br>
	 */
    getSeconds : function(){
        return this.getElement().timespinner('getSeconds');
    },
    
    /**
	 * 函数名称：Rainier.UI.V2.UICompositeTimeSpinner.destroy<br>
	 * 函数功能：销毁组件。<br>
	 * 参数输入：无<br>
	 * 参数输出：无<br>
	 * 函数返回：无<br>
	 * 异常信息：无<br>
	 */
    destroy : function(){
        return this.getElement().timespinner('destroy');
    },
    
    /**
	 * 函数名称：Rainier.UI.V2.UICompositeTimeSpinner.resize<br>
	 * 函数功能：调整组件的宽度。<br>
	 * 参数输入：sWideh:100<br>
	 * 参数输出：无<br>
	 * 函数返回：无<br>
	 * 异常信息：无<br>
	 */
    resize : function(width){
        return this.getElement().timespinner('resize',width);
    },
    
    /**
	 * 函数名称：Rainier.UI.V2.UICompositeTimeSpinner.enable<br>
	 * 函数功能：启用组件。<br>
	 * 参数输入：无<br>
	 * 参数输出：无<br>
	 * 函数返回：无<br>
	 * 异常信息：无<br>
	 */
    enable : function(){
        return this.getElement().timespinner('enable');
    },
    
    /**
	 * 函数名称：Rainier.UI.V2.UICompositeTimeSpinner.disable<br>
	 * 函数功能：禁用组件。<br>
	 * 参数输入：无<br>
	 * 参数输出：无<br>
	 * 函数返回：无<br>
	 * 异常信息：无<br>
	 */
    disable : function(){
        return this.getElement().timespinner('disable');
    },
    
    /**
	 * 函数名称：Rainier.UI.V2.UICompositeTimeSpinner.getValue<br>
	 * 函数功能：设置组件的值<br>
	 * 参数输入：无<br>
	 * 参数输出：无<br>
	 * 函数返回：无<br>
	 * 异常信息：无<br>
	 */
    getValue : function(){
        this.getElement().timespinner('getValue');
    },
    
    /**
	 * 函数名称：Rainier.UI.V2.UICompositeTimeSpinner.readonly<br>
	 * 函数功能：启用/禁用只读模式。该方法自版本 1.3.3 起可用。<br>
	 * 参数输入：mode: true/false<br>
	 * 参数输出：无<br>
	 * 函数返回：无<br>
	 * 异常信息：无<br>
	 */
    readonly : function(){
        return this.getElement().timespinner('readonly');
    },
    
    /**
	 * 函数名称：Rainier.UI.V2.UICompositeTimeSpinner.setValue<br>
	 * 函数功能：设置组件的值。<br>
	 * 参数输入：sValue: 'abc'<br>
	 * 参数输出：无<br>
	 * 函数返回：无<br>
	 * 异常信息：无<br>
	 */
    setValue : function(value){
        this.getElement().timespinner('setValue',value);
    },
    
    /**
	 * 函数名称：Rainier.UI.V2.UICompositeTimeSpinner.clear<br>
	 * 函数功能：清除组件的值。<br>
	 * 参数输入：无<br>
	 * 参数输出：无<br>
	 * 函数返回：无<br>
	 * 异常信息：无<br>
	 */
    clear : function(){
        this.getElement().timespinner('clear');
    },
    
    /**
	 * 函数名称：Rainier.UI.V2.UICompositeTimeSpinner.reset<br>
	 * 函数功能：重置组件的值。该方法自版本 1.3.2 起可用。<br>
	 * 参数输入：无<br>
	 * 参数输出：无<br>
	 * 函数返回：无<br>
	 * 异常信息：无<br>
	 */
    reset : function(){
        this.getElement().timespinner('reset');     
    },
    
    /**
	 * 函数名称：Rainier.UI.V2.UICompositeTimeSpinner.textbox<br>
	 * 函数功能：返回文本框对象。<br>
	 * 参数输入：无<br>
	 * 参数输出：无<br>
	 * 函数返回：无<br>
	 * 异常信息：无<br>
	 */
    textbox : function(){
        return this.getElement().timespinner('textbox');
    },
    
    /**
	 * 函数名称：Rainier.UI.V2.UICompositeTimeSpinner.button<br>
	 * 函数功能：返回按钮对象。<br>
	 * 参数输入：无<br>
	 * 参数输出：无<br>
	 * 函数返回：当前按钮对象<br>
	 * 异常信息：无<br>
	 */
    button : function(){
        return this.getElement().timespinner('button');
    },
    
    /**
	 * 函数名称：Rainier.UI.V2.UICompositeTimeSpinner.initValue<br>
	 * 函数功能：设置初始value值。<br>
	 * 参数输入：sValue：'sun'<br>
	 * 参数输出：无<br>
	 * 函数返回：无<br>
	 * 异常信息：无<br>
	 */
    initValue : function(sValue){
        return this.getElement().timespinner('initValue',sValue);
    },
    

    /**
	 * 函数名称：Rainier.UI.V2.UICompositeTimeSpinner.setText <br>
	 * 函数功能：设置文本值。<br>
	 * 参数输入：sText： 123<br>
	 * 参数输出：无<br>
	 * 函数返回：无<br>
	 * 异常信息：无<br>
	 */
    setText : function(sText){
        return this.getElement().timespinner('setText',sText);
    },
    
    /**
	 * 函数名称：Rainier.UI.V2.UICompositeTimeSpinner.getText<br>
	 * 函数功能：获取输入的文本。<br>
	 * 参数输入：无<br>
	 * 参数输出：无<br>
	 * 函数返回：返回组件输入框中的text值<br>
	 * 异常信息：无<br>
	 */
    getText : function(){
        return this.getElement().timespinner('getText');
    },
     
    /**
	 * 函数名称：Rainier.UI.V2.UICompositeTimeSpinner.getValue<br>
	 * 函数功能：设置组件的值<br>
	 * 参数输入：无<br>
	 * 参数输出：无<br>
	 * 函数返回：返回组件的value值<br>
	 * 异常信息：无<br>
	 */
    getValue : function(sValue){
        return this.getElement().timespinner('getValue',sValue);
    },
    
    /**
	 * 函数名称：Rainier.UI.V2.UICompositeTimeSpinner.getIcon<br>
	 * 函数功能：获取具体图表对象。<br>
	 * 参数输入：nIndex：5<br>
	 * 参数输出：无<br>
	 * 函数返回：返回icon图标对象<br>
	 * 异常信息：无<br>
	 */
    getIcon : function(nIndex){
        return this.getElement().timespinner('getIcon',nIndex);
    },

    /**
	 * 函数名称：Rainier.UI.V2.UICompositeTimeSpinner.validate<br>
	 * 函数功能：验证输入的值。<br>
	 * 参数输入：无<br>
	 * 参数输出：无<br>
	 * 函数返回：无<br>
	 * 异常信息：无<br>
	 */
    validate : function(){
        return this.getElement().timespinner('validate');
    },
    
    /**
	 * 函数名称：Rainier.UI.V2.UICompositeTimeSpinner.isValid<br>
	 * 函数功能：返回验证结果。<br>
	 * 参数输入：无<br>
	 * 参数输出：无<br>
	 * 函数返回：true/false : boolean 类型的值true 表示进行了校验，false表示当前组件未进行校验<br>
	 * 异常信息：无<br>
	 */
    isValid : function(){
        return this.getElement().timespinner('isValid');
    },
    
    /**
	 * 函数名称：Rainier.UI.V2.UICompositeTimeSpinner.enableValidation<br>
	 * 函数功能：启用验证。该方法自版本 1.3.4 起可用。。<br>
	 * 参数输入：无<br>
	 * 参数输出：无<br>
	 * 函数返回：无<br>
	 * 异常信息：无<br>
	 */
    enableValidation : function(){
        return this.getElement().timespinner('enableValidation');
    },
    
    /**
	 * 函数名称：Rainier.UI.V2.UICompositeTimeSpinner.disableValidation<br>
	 * 函数功能：禁用验证。该方法自版本 1.3.4 起可用。<br>
	 * 参数输入：无<br>
	 * 参数输出：无<br>
	 * 函数返回：无<br>
	 * 异常信息：无<br>
	 */
    disableValidation : function(){
        return this.getElement().timespinner('disableValidation');
    },
    
    /**
	 * 函数名称：Rainier.UI.V2.UICompositeTimeSpinner.resetValidation<br>
	 * 函数功能：重置验证<br>
	 * 参数输入：无<br>
	 * 参数输出：无<br>
	 * 函数返回：无<br>
	 * 异常信息：无<br>
	 */
    resetValidation : function(){
        return this.getElement().timespinner('resetValidation');
    }   
});